<?php
/**
 * Created by 七月
 * User: 七月
 * Date: 2017/2/14
 * Time: 12:16
 */

namespace app\index\validate;
use think\facade\Request;
use think\Validate;
use app\lib\exception\ParameterException;

/**
 * Class BaseValidate
 * 验证类的基类
 */
class BaseValidate extends Validate {
    /**
     * 检测所有客户端发来的参数是否符合验证类规则
     * 基类定义了很多自定义验证方法
     * 这些自定义验证方法其实，也可以直接调用
     * @throws ParameterException
     * @return true
     */
    public function goCheck() {
        //必须设置contetn-type:application/json
        $params=Request::param();
        // dump(Request::header('token'));
        // $params['token'] = $request->header('token');

        if (!$this->check($params)) {
            $exception = new ParameterException(
                [
                    // $this->error有一个问题，并不是一定返回数组，需要判断
                    'msg' => is_array($this->error) ? implode(
                        ';', $this->error) : $this->error,
                ]);
            throw $exception;
        }
        return true;
    }

}